package com.ldy.core.util;

public class EmailUtil {

	// 将邮箱地址转换为正则表达式
    public static String convertToRegex(String email) {
        // 找到第一个 '•' 的位置
        int firstDotIndex = email.indexOf('•');
        // 找到最后一个 '•' 的位置
        int lastDotIndex = email.lastIndexOf('•');

        if (firstDotIndex == -1 || lastDotIndex == -1 || firstDotIndex == lastDotIndex) {
            // 如果没有 '•' 或只有一个 '•'，直接返回邮箱
            return email;
        }

        // 构建正则表达式
        StringBuilder regexBuilder = new StringBuilder();
        
        // 添加 '•' 前的部分
        regexBuilder.append(email, 0, firstDotIndex);
        
        // 添加正则表达式的任意字符部分
        regexBuilder.append(".*");

        // 添加 '•' 后的部分
        regexBuilder.append(email.substring(lastDotIndex + 1));
        
        // 将 . 转义为 \.
        String regex = regexBuilder.toString();
        return regex;
    }
    
    /**
     * 判断邮箱是否相同
     * @param email
     * @param emailToCheck
     * @return
     */
    public static boolean isSome (String email, String emailToCheck) {
    	 String regex = convertToRegex(email);
    	return emailToCheck.matches(regex);
    }
    

    public static void main(String[] args) {
        String email = "z•••••••••••f@hotmail.com";
       
        
        // 测试正则表达式是否匹配其他邮箱地址
        String emailToCheck1 = "zabcdefghif@hotmail.com";
//        String emailToCheck2 = "z122323345f@hotmail.com";
//        String emailToCheck3 = "zabc@hotmail.com";
        System.out.println(isSome(email, emailToCheck1));
    }
}
